home *** CD-ROM | disk | FTP | other *** search
/ LOGIC Apps / Logic-APPLE_II_APPS.iso / pc / LOGIC Apple II 5.25" Library - DOS Part 3 / DOS069.dsk / MAROONED IN SPACE.bas < prev    next >
BASIC Source File  |  2012-02-16  |  10KB  |  288 lines

  1. 0  REM  ************************
  2. 1  REM  **     DONATED BY     **
  3. 2  REM  **     DAVY DAVIS     **
  4. 3  REM  **       AND          **
  5. 4  REM  **    ELUISE MARVIN   **
  6. 6  REM  ************************
  7. 7  REM 
  8. 30  TEXT : HOME : VTAB 10: HTAB 11: FLASH : PRINT "MAROONED IN SPACE": NORMAL 
  9. 35  VTAB 12: HTAB 11: PRINT "BY WILLIAM COLSHER"
  10. 40  FOR I = 1 TO 1500: NEXT I
  11. 45  HOME : VTAB 12: PRINT "DO YOU NEED INSTRUCTIONS";: GET IN$
  12. 50  IF  LEFT$(IN$,1) < >"N"  THEN  GOSUB 3000
  13. 54  TEXT : NORMAL : RESTORE 
  14. 55  HOME : VTAB 12: PRINT "WILL YOU USE THE ENGLISH": PRINT "OR METRIC SYSTEM";: GET S$
  15. 58 O = 0:Z = 0
  16. 60  IF  LEFT$(S$,1) = "E"  THEN B = 1: GOTO 75
  17. 65  IF  LEFT$(S$,1) = "M"  THEN B = 1.61: GOTO 75
  18. 70  PRINT : PRINT "PLEASE TYPE 'ENGLISH' OR 'METRIC'";: INPUT S$: GOTO 60
  19. 75  GOSUB 4000
  20. 80 A$ = "  LOGIC UNIT DAMAGED                        LOGIC UNIT DAMAGED "
  21. 85 B$ = "HUMAN INTERVENTION REQUIRED              HUMAN INTERVENTION REQUIRED "
  22. 90 C$ = "ORBIT OVER UNKNOWN PLANET                  ORBIT OVER UNKNOWN PLANET "
  23. 95 D$ = "PREPARING PLANET SURVEY DATA             PREPARING PLANET SURVEY DATA "
  24. 100  POKE 32,1: POKE 33,28: POKE 34,1: POKE 35,22
  25. 105  GOSUB 5000: HOME 
  26. 110  INVERSE : FOR A = 1 TO 2: PRINT "                            ";: NEXT A
  27. 115  VTAB 2: HTAB 10: FLASH : PRINT "EMERGENCY": NORMAL 
  28. 120  POKE 34,3: HOME 
  29. 130 L = 100
  30. 135  FOR X = 1 TO L
  31. 140 S = L -X
  32. 145  VTAB 8: PRINT  MID$ (A$,X,40)
  33. 150  VTAB 10: PRINT  MID$ (B$,X,40)
  34. 155  VTAB 12: PRINT  MID$ (C$,X,40)
  35. 160  VTAB 14: PRINT  MID$ (D$,X,40)
  36. 164  IF S >39  THEN 185
  37. 165  VTAB 8: PRINT  MID$ (A$,1,39 -S)
  38. 170  VTAB 10: PRINT  MID$ (B$,1,39 -S)
  39. 175  VTAB 12: PRINT  MID$ (C$,1,39 -S)
  40. 180  VTAB 14: PRINT  MID$ (D$,1,39 -S)
  41. 185  NEXT X
  42. 195  FLASH : GOSUB 5000: NORMAL : GOSUB 5000: GOSUB 5000: GOSUB 5000: INVERSE : GOSUB 5000: NORMAL : GOSUB 5000
  43. 200 P =  INT( RND(1) *9) +1
  44. 210  FOR A = 1 TO 9: FOR C = 1 TO 7: READ P(A,C): NEXT C,A
  45. 220 O = P
  46. 230  HOME 
  47. 240 A$ = "    PLANETARY SURVEY DATA"
  48. 245  FOR X = 1 TO  LEN(A$)
  49. 250  PRINT  MID$ (A$,X,1);
  50. 255  FOR I = 1 TO 30: NEXT I
  51. 260  NEXT X
  52. 265  PRINT " "
  53. 270  PRINT "MASS="
  54. 275  POKE 34,5
  55. 278 M = P(P,1)/100
  56. 279  HOME 
  57. 280  FOR X = 70 TO 2  STEP  -1
  58. 290 Q = M *X
  59. 292  IF Q <1  THEN Q = Q *X: GOTO 292
  60. 295  IF Q >255  THEN Q = 255
  61. 300  PRINT ; SPC( Q);P(P,1)/X
  62. 310  FOR I = 1 TO 25: NEXT I
  63. 320  HOME 
  64. 330  NEXT X
  65. 340  VTAB 5: HTAB 1: PRINT "MASS=";P(P,1);"  (EARTH=1)"
  66. 345  HOME 
  67. 350  GOSUB 2000
  68. 360  FLASH : GOSUB 5000: NORMAL : GOSUB 5000
  69. 370  HOME 
  70. 400 G = P(P,2)/100
  71. 405  PRINT "SURFACE GRAVITY=": POKE 34,6
  72. 410  FOR X = 70 TO 2  STEP  -1
  73. 420 Q = G *X
  74. 430  IF Q <1  THEN Q = Q *X: GOTO 430
  75. 440  IF Q >255  THEN Q = 255
  76. 450  PRINT ; SPC( Q);P(P,2)/X
  77. 460  FOR I = 1 TO 25: NEXT I
  78. 470  HOME : NEXT X
  79. 475  VTAB 6: HTAB 1
  80. 480  PRINT "SURFACE GRAVITY=";P(P,2);"(EARTH=1)"
  81. 485  HOME 
  82. 490  GOSUB 2000
  83. 495  INVERSE : GOSUB 5000: NORMAL : GOSUB 5000: HOME 
  84. 500 V = P(P,3) *B/1000
  85. 505  PRINT "ESCAPE VELOCITY=": POKE 34,7
  86. 510  FOR X = 70 TO 2  STEP  -1
  87. 520 Q = G
  88. 530  IF Q <1  THEN Q = Q *X: GOTO 530
  89. 540  IF Q >255  THEN Q = 255
  90. 550  PRINT ; SPC( Q);P(P,3) *B/X;
  91. 552  IF B = 1  THEN  PRINT "MPS";
  92. 554  IF B = 1.61  THEN  PRINT "KPS";
  93. 560  FOR I = 1 TO 25: NEXT I
  94. 570  HOME : NEXT X
  95. 575  VTAB 7: HTAB 1
  96. 580  PRINT "ESCAPE VELOCITY=";P(P,3) *B;
  97. 582  IF B = 1  THEN  PRINT "MPS"
  98. 584  IF B = 1.61  THEN  PRINT "KPS"
  99. 588  HOME 
  100. 590  GOSUB 2000
  101. 595  FLASH : GOSUB 5000: NORMAL : GOSUB 5000: HOME 
  102. 600 D = P(P,4) *B/1000
  103. 605  PRINT "DIAMETER=": POKE 34,8
  104. 610  FOR X = 70 TO 2  STEP  -1
  105. 620 Q = D
  106. 630  IF Q <1  THEN Q = Q *X: GOTO 630
  107. 640  IF Q >255  THEN Q = 255
  108. 650  PRINT ; SPC( Q);P(P,4) *B/X;
  109. 652  IF B = 1  THEN  PRINT "MILES";
  110. 654  IF B = 1.61  THEN  PRINT "KILOMETERS";
  111. 660  FOR I = 1 TO 25: NEXT I
  112. 670  HOME : NEXT X
  113. 675  VTAB 8: HTAB 1
  114. 680  PRINT "DIAMETER=";P(P,4) *B;
  115. 682  IF B = 1  THEN  PRINT " MILES"
  116. 684  IF B = 1.61  THEN  PRINT " KILOMETERS"
  117. 688  HOME 
  118. 690  GOSUB 2000
  119. 695  FLASH : GOSUB 5000: INVERSE : GOSUB 5000: NORMAL : GOSUB 5000
  120. 700 Q = P(P,5)/10: IF Q = 0  THEN Q = 1
  121. 704  HOME 
  122. 705  PRINT "MOONS=": POKE 34,9
  123. 710  FOR X = 70 TO 2  STEP  -1
  124. 730  IF Q <1  THEN Q = Q *X: GOTO 630
  125. 740  IF Q >255  THEN Q = 255
  126. 750  PRINT ; SPC( Q);P(P,5)/X;
  127. 760  FOR I = 1 TO 25: NEXT I
  128. 770  HOME : NEXT X
  129. 775  VTAB 9: HTAB 1
  130. 780  PRINT "MOONS=";P(P,5)
  131. 785  HOME 
  132. 790  GOSUB 2000
  133. 795  FLASH : GOSUB 5000: NORMAL : GOSUB 5000: GOSUB 5000
  134. 800 Q = P(P,6)/100
  135. 805  HOME : PRINT "YEAR=": POKE 34,10
  136. 810  FOR X = 70 TO 2  STEP  -1
  137. 830  IF Q <1  THEN Q = Q *X: GOTO 830
  138. 840  IF Q >255  THEN Q = 255
  139. 850  PRINT ; SPC( Q);P(P,6)/X;
  140. 860  FOR I = 1 TO 25: NEXT I
  141. 870  HOME : NEXT X
  142. 875  VTAB 10: HTAB 1
  143. 880  PRINT "YEAR=";P(P,6);" (EARTH=1)"
  144. 885  HOME 
  145. 890  GOSUB 2000
  146. 895  FLASH : GOSUB 5000: INVERSE : GOSUB 5000: NORMAL : GOSUB 5000
  147. 900 Q = P(P,7) *B/100
  148. 905  HOME : PRINT "DISTANCE TO SUN=": POKE 34,11
  149. 910  FOR X = 70 TO 2  STEP  -1
  150. 930  IF Q <1  THEN Q = Q *X: GOTO 930
  151. 940  IF Q >255  THEN Q = Q/X: GOTO 940
  152. 950  PRINT ; SPC( Q);P(P,6) *B *10000/X
  153. 960  FOR I = 1 TO 25: NEXT I
  154. 970  HOME : NEXT X
  155. 975  VTAB 11: HTAB 1
  156. 978  PRINT "DISTANCE TO SUN=";P(P,7) *B *10000;
  157. 979  IF B = 1  THEN  PRINT "MILES"
  158. 980  IF B = 1.61  THEN  PRINT "K.S"
  159. 984  GOSUB 2000
  160. 985  HOME 
  161. 990  IF Z = 1  THEN 1130
  162. 1000  HOME 
  163. 1010  SPEED= 50: PRINT "I NOW HAVE";: SPEED= 75: PRINT " ALL NECESSARY"
  164. 1020  SPEED= 100: PRINT "INFORMATION."
  165. 1030  PRINT 
  166. 1040  SPEED= 125: PRINT "THE PLANET";: SPEED= 150: PRINT " WE ARE ";: SPEED= 175: PRINT "ORBITING IS:"
  167. 1050  SPEED= 255
  168. 1060  PRINT : FLASH 
  169. 1070  ON P GOSUB 1210,1220,1230,1240,1250,1260,1270,1280,1290
  170. 1080  NORMAL 
  171. 1090  PRINT 
  172. 1100  INVERSE : PRINT "I CAN NOW PLOT"
  173. 1110  PRINT "A COURSE FOR EARTH."
  174. 1120  FOR I = 1 TO 1000: NEXT I
  175. 1130  FLASH : PRINT "DO YOU WANT TO PLAY AGAIN?";
  176. 1140  GET PA$
  177. 1150  IF  LEFT$(PA$,1) = "Y"  THEN 54
  178. 1160  NORMAL : TEXT : HOME : END 
  179. 1210  PRINT "MERCURY": RETURN 
  180. 1220  PRINT "VENUS": RETURN 
  181. 1230  PRINT "MARS": RETURN 
  182. 1240  PRINT "CERES": RETURN 
  183. 1250  PRINT "PALLAS": RETURN 
  184. 1260  PRINT "JUPITER": RETURN 
  185. 1270  PRINT "SATURN": RETURN 
  186. 1280  PRINT "URANUS": RETURN 
  187. 1290  PRINT "NEPTUNE": RETURN 
  188. 2000  REM  ASK WHAT PLANET
  189. 2010  IF Z = 1  THEN  RETURN 
  190. 2020  VTAB 22: PRINT " WHAT PLANET ARE WE ORBITING"
  191. 2030 X =  PEEK( -16384): IF X <177  OR X >185  THEN 2030
  192. 2035  POKE  -16368,0
  193. 2040 KEY = X -176
  194. 2045  HOME 
  195. 2050  IF KEY = P  THEN 2500
  196. 2055 A$ = "DATA NOT": GOSUB 2400
  197. 2060  POKE 32,3:A$ = "CONSISTENT": GOSUB 2400
  198. 2065  POKE 32,5:A$ = "WITH": GOSUB 2400
  199. 2070  POKE 32,7:A$ = "INFORMATION": GOSUB 2400
  200. 2072  POKE 32,9:A$ = "ON THAT": GOSUB 2400
  201. 2074  POKE 32,11:A$ = "PLANET": GOSUB 2400
  202. 2076  POKE 32,16:A$ = "MORE DATA": GOSUB 2400
  203. 2080  POKE 32,18:A$ = "IS IN": GOSUB 2400
  204. 2090  POKE 32,20:A$ = "PREPARATION": GOSUB 2400
  205. 2100  POKE 32,1: RETURN 
  206. 2400  VTAB 11
  207. 2410  FOR X = 1 TO  LEN(A$)
  208. 2420  PRINT  MID$ (A$,X,1)
  209. 2430  FOR T = 1 TO 25: NEXT T
  210. 2440  NEXT X
  211. 2450  RETURN 
  212. 2500  SPEED= 100: HTAB 1: PRINT "MY DATA": HTAB 2: PRINT "INDICATE": HTAB 3: PRINT "THAT YOU ARE": HTAB 4: PRINT "CORRECT."
  213. 2510  HTAB 6: PRINT "A COURSE": HTAB 7: PRINT "FOR EARTH": HTAB 8: PRINT "HAS BEEN": HTAB 9: PRINT "PLOTTED"
  214. 2520  HTAB 11: PRINT "WE WILL": HTAB 12: PRINT "BE HOME SOON"
  215. 2530  HTAB 1: PRINT "FOR YOUR INFORMATION": HTAB 3: PRINT "HERE IS THE REST OF": HTAB 5: PRINT "THE DATA ON THE": HTAB 7: PRINT "PLANET"
  216. 2540  SPEED= 255
  217. 2550  FOR I = 1 TO 500: NEXT I
  218. 2560 Z = 1: RETURN 
  219. 3000  REM  INSTRUCTIONS
  220. 3010  HOME 
  221. 3015  FOR I = 1 TO 23
  222. 3020  INVERSE : PRINT "*MAROONED IN SPACE****MAROONED IN SPACE*";
  223. 3025  NEXT I
  224. 3030  NORMAL 
  225. 3040  POKE 32,4
  226. 3050  VTAB 4
  227. 3060  SPEED= 100
  228. 3065  PRINT "                               "
  229. 3070  PRINT " IN THIS GAME YOU ARE MAROONED "
  230. 3080  PRINT " IN ORBIT AROUND AN UNKNOWN    "
  231. 3090  PRINT " PLANET. A MALFUNCTION HAS     "
  232. 3100  PRINT " PREVENTED YOUR COMPUTER FROM  "
  233. 3110  PRINT " IDENTIFYING IT. THE COMPUTER  "
  234. 3120  PRINT " CAN PROVIDE YOU WITH INFOR-   "
  235. 3130  PRINT " MATION ON THE PLANET. YOU     "
  236. 3140  PRINT " MUST USE THIS DATA TO FIGURE  "
  237. 3150  PRINT " OUT WHICH PLANET IT IS.       "
  238. 3155  PRINT "                               "
  239. 3160  PRINT " WHEN THE PLANET IS IDENTIFIED "
  240. 3170  PRINT " THE COMPUTER WILL BE ABLE TO  "
  241. 3180  PRINT " PLOT A COURSE FOR HOME.       "
  242. 3185  PRINT "                               "
  243. 3190  PRINT 
  244. 3200  PRINT " PRESS THE SPACE BAR TO BEGIN. "
  245. 3210  IF  PEEK( -16384) <127  THEN 3210
  246. 3220  POKE  -16368,0
  247. 3230  SPEED= 255
  248. 3240  RETURN 
  249. 4000  REM  SET UP
  250. 4010  HOME 
  251. 4020  INVERSE 
  252. 4030  PRINT "                                        ";
  253. 4040  FOR A = 2 TO 22: PRINT " ";: HTAB 40: PRINT " ";: NEXT A
  254. 4050  PRINT "                                        ";
  255. 4060  NORMAL : VTAB 10: HTAB 10: PRINT " "
  256. 4070  POKE 32,29
  257. 4080  INVERSE 
  258. 4090  FOR A = 2 TO 22
  259. 4100  VTAB A: PRINT "          ": NEXT A
  260. 4105  POKE 32,30
  261. 4110  VTAB 2: NORMAL : PRINT "PLANETS"
  262. 4120  INVERSE : PRINT : PRINT "1.MERCURY": PRINT "2.VENUS"
  263. 4130  PRINT "3.MARS": PRINT "4.CERES": PRINT "5.PALLAS": PRINT "6.JUPITER": PRINT "7.SATURN": PRINT "8.URANUS": PRINT "9.NEPTUNE"
  264. 4140  TEXT 
  265. 5000  REM  THING
  266. 5010  FOR A = 1 TO 10
  267. 5020 N =  INT( RND(1) *5 +1)
  268. 5030 X =  INT( RND(1) *8 +31)
  269. 5040 Y =  INT( RND(1) *6 +16)
  270. 5045  VTAB Y: HTAB X
  271. 5050  ON N GOTO 5060,5065,5070,5075,5080
  272. 5060  PRINT "*";: GOTO 5090
  273. 5065  PRINT " ";: GOTO 5090
  274. 5070  PRINT "@";: GOTO 5090
  275. 5075  PRINT "#";: GOTO 5090
  276. 5080  PRINT " ";
  277. 5090  NEXT A
  278. 5100  VTAB 12: HTAB 8
  279. 5110  RETURN 
  280. 10000  DATA  .05,.37,2.5,3000,0,.24,36
  281. 10010  DATA  .81,.89,6.2,7600,0,.61,67
  282. 10020  DATA  .11,.39,3.1,4200,2,1.89,67
  283. 10030  DATA  .0002,.1,.4,480,0,4.6,256
  284. 10040  DATA  .00005,.05,.2,300,0,4.6,257
  285. 10050  DATA  318,2.65,38,86000,12,11.86,484
  286. 10060  DATA  95,1.15,23,74000,10,29.5,895
  287. 10070  DATA  15,1,14,30000,5,84,1780
  288. 10080  DATA  17,1.55,15,28000,2,164,8,2790